作者:qweqwe | 来源:互联网 | 2023-09-24 08:36
篇首语:本文由编程笔记#小编为大家整理,主要介绍了dimens.xml详解相关的知识,希望对你有一定的参考价值。
本文联合两篇博文和自身理解写下
其中一篇:http://blog.csdn.net/hnzcdy/article/details/50628993
另一篇:暂不知原作者
android中官方建议的屏幕适配方式,通过根据不同的分辨率在工程的res文件夹下建立不同的尺寸文件夹,每个文件夹下都建立dimens.xml文件。然后根据不同的尺寸在dimens.xml文件夹中分别计算配置不同的dp或者sp单位。开发中发现,android屏幕适配需要用到很多的尺寸,每个尺寸都建立dimens.xml问价。每个文件中的数值都要按照比例去计算,一个一个拿着计算器去计算吗?这样太麻烦了。今天有一个好的办法,来为大家介绍一下。
一、首先我们在工程的res文件夹下,建立不同尺寸的valuse配置文件夹。并在不同的文件夹下建立不同的dimens.xml文件。valuse为默认的工程配置,其余的为根据不同的尺寸适配用户自己新建。(这里以android studio 1.5为示例)
二、 最初在res / values / dimensional.xml中定义的维度的示例自定义(如屏幕边距)用于具有超过820dp可用宽度的屏幕。 这个
将包括在景观中的7“和10”设备(分别〜960dp和〜1280dp)
<LinearLayout xmlns:Android&#61;"http://schemas.android.com/apk/res/android" android:orientation&#61;"vertical"
android:layout_width&#61;"fill_parent"
android:layout_height&#61;"fill_parent">
<TextView
android:text&#61;"&#64;string/test_dimen"
android:id&#61;"&#64;&#43;id/myDimenTextView01"
android:layout_width&#61;"wrap_content"
android:layout_height&#61;"wrap_content"
android:width&#61;"&#64;dimen/text_width"
android:height&#61;"&#64;dimen/text_height"
android:background&#61;"&#64;color/red_bg" />
<Button
android:text&#61;"&#64;string/test_dimen1"
android:id&#61;"&#64;&#43;id/Button01"
android:layout_width&#61;"wrap_content"
android:layout_height&#61;"wrap_content">
Button>
LinearLayout>
Java代码&#xff1a;
package yy.android.dimen;
import android.app.Activity;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.Button;
import com.amaker.test.R;
public class TestDimensionActivity extends Activity
private Button myButton;
&#64;Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.test_dimen);
myButton &#61; (Button)findViewById(R.id.Button01);
Resources r &#61; getResources();
float btn_h &#61; r.getDimension(R.dimen.btn_height);
float btn_w &#61; r.getDimension(R.dimen.btn_width);
myButton.setHeight((int)btn_h);
myButton.setWidth((int)btn_w);